<html>
<body>
报告有关不正确使用的代理方法的警告。

Spring Framework 5.2 引入了对 @Configuration 类处理的优化，可以通过 @Configuration(proxyBeanMethods = false) 特性启用该优化。
<p>
如果禁用 <code>proxyBeanMethods</code>，将不再创建代理实例，调用该方法可以重新启动（每次返回一个新实例）。
因此，您无法保证您确实在上下文中注入相应的 Bean。
</p>
<!-- tooltip end -->
<p>不正确的 Bean 方法调用示例：</p>
<pre><code lang="java">
@Configuration(proxyBeanMethods = false)
class TestConfiguration {
  @Bean
  public FirstBean firstBean() {
    return new FirstBean();
  }

  @Bean
  public SecondBean secondBean() {
    return new SecondBean(firstBean()); // -> 不正确的调用
  }
}
</code></pre>

<p>您可以将 <code>proxyBeanMethods</code> 设置为 true 或按如下所示重写代码：</p>
<pre><code lang="java">
@Configuration(proxyBeanMethods = false)
class TestConfiguration {
  @Bean
  public FirstBean firstBean() {
    return new FirstBean();
  }

  @Bean
  public SecondBean secondBean(FirstBean someBean) { // -> 正确的注入实例
    return new SecondBean(someBean);
  }
}
</code></pre>

<p>此外，该检查还会检查没有 <code>@Configuration</code> 构造型的类中的 <code>@Bean</code> 方法调用（在 "Bean lite mode" 下）：</p>
<pre><code lang="java">
@Component
class TestComponent {
  @Bean
  public FirstBean firstBean() {
    return new FirstBean();
  }

  @Bean
  public SecondBean secondBean() {
    return new SecondBean(firstBean()); // -> 不正确的调用
  }
}
</code></pre>

</body>
</html>